<?
	/* Se asegura que el archivo es incluido por el index */
		defined( 'LOAD_MODULE_ACTION' ) or die( 'No esta permitido el acceso directo a ' . __FILE__ );
	/* Cuando se hace el include del archivo automaticamente crea un objeto y lo guarda en una variable temporal */
		$this->oTmpObject = new Usuario_lst( $this );

	class Usuario_lst extends Lst
	{
	function Usuario_lst( &$oModule )
		{
			$this->Lst ( $oModule );
			// Obtiene de su filtro los parametros que necesita para armar el query
			$this->oFiltro = $this->oModule->loadClass( 'usuario_frm' );
			$this->aFields = array_merge ( (array)$this->aFields,  (array)$this->oFiltro->getFieldArray() );
			$this->aFields[bActivo] = getParam('bActivo', 1);
			$this->setTrashField( "bActivo" );			
			$this->setTitle ( "Usuarios" );
			$this->setSummary( "Esta tabla contiene el listado de los usuarios" );
			$this->addColumn ( 'Nombre', 'cUsuario', true );
			$this->addColumn ( 'Email', 'cEmail', true );
			$this->addColumn ( 'Login', 'nqLogin', true );
			$this->addColumnDate ( 'Fecha', 'dUltimoLogin', true );
		}
	function query()
		{
			// Arma el Query
				$cSql = "SELECT Usu.ncUsuario, Usu.cUsuario , nqLogin, dUltimoLogin, bBloqueada, bActivo, cEmail
									FROM stUsuario as Usu";
			// Arma el Filtro de la Consulta
				$this->oWhere->addArray ( $this->oFiltro->getFilterdArray() , 'Usu');
				$this->oWhere->addBool( 'Usu.bActivo', $this->aFields[bActivo] );
				return $cSql . $this->oWhere->make();
		}
	function makeListActions()
		{
			$cParametroRegistro =  $this->getFieldString();
			$this->addListAction ( AGREGAR_UN_USUARIO, $cParametroRegistro , 'I', VENTANA_SECUNDARIA );
		}
	function makeRowActions( $aRow )
		{
			$cParametroRegistro =  "ncUsuario=" . $aRow["ncUsuario"];
			$this->addRowAction ( MODIFICAR_UN_USUARIO, $cParametroRegistro , '', VENTANA_SECUNDARIA);
			if ( $aRow[bActivo] )
				$this->addRowAction ( TRASH_USUARIO ,  $cParametroRegistro );
			else
			{
				$this->addRowAction ( UNTRASH_USUARIO ,  $cParametroRegistro );
				$this->addRowAction ( ELIMINAR_UN_USUARIO,  $cParametroRegistro );
			}
			$this->addRowAction ( RESETEO_DE_CLAVE, $cParametroRegistro );
			if ( $aRow['bBloqueada'] )
				$this->addRowAction ( DESBLOQUEAR_CUENTA, $cParametroRegistro );
			else
				$this->addRowAction ( BLOQUEAR_CUENTA, $cParametroRegistro );
		}
	}
?>
